package com.hmy.material.service;

import com.hmy.material.domain.HmyMateriaFeedConsume;
import com.hmy.park.domain.HmyPhouse;
import com.hmy.staff.domain.HmyStaff;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author zxh
 * @version 1.0
 * @description: 物料消耗表业务service接口
 * @date 2024/2/1 11:51
 */
public interface ConsumeService {

    /**
     * 根据条件查询列表
     *
     * @param materiaFeedType
     * @param creationDateStart
     * @param creationDateEnd
     * @return
     */
    public List<HmyMateriaFeedConsume> selectConsumeList(Integer materiaFeedStorePosition,
                                                         Integer materiaFeedType,
                                                         String creationDateStart,
                                                         String creationDateEnd,
                                                         String phouseCode);

    /**
     * 新增消耗记录
     *
     * @param consume
     * @return
     */
    public int addConsume(HmyMateriaFeedConsume consume);


    /**
     * 根据ID获取单个消耗记录
     *
     * @param materiaFeedConsumeId ID
     * @return 返回单个对象
     */
    public HmyMateriaFeedConsume selectConsumeById(@Param("id") Long materiaFeedConsumeId);


    /**
     * 修改消耗记录
     *
     * @param consume 参数对象
     * @return 受影响行数
     */
    public int updateConsume(HmyMateriaFeedConsume consume);

    /**
     * 根据ID删除
     *
     * @param materiaFeedConsumeIds
     * @return
     */
    public int delConsumeByIds(Long[] materiaFeedConsumeIds);

    /**
     * 获取栏舍表中的所有栏舍编号
     *
     * @return
     */
    public List<HmyPhouse> findAllPhouseCode();

    /**
     * 获取员工表中所有的物料管理员
     *
     * @return
     */
    public List<HmyStaff> findAllStaffName();
}
